IF            
ÀÌ ¸í·É¾î´Â ¹èÄ¡ ÇÁ·Î±×·¥¿¡¼­¸¸ »ç¿ëµÇ´Â ¸í·É¾î·Î Á¶°ÇÀû 󸮸¦ ¼öÇàÇϱâ À§ÇØ »ç¿ëÇÑ´Ù.
¸¸¾à, IF ¸í·É¾î¿¡ ÁöÁ¤µÈ Á¶°ÇÀÌ ÂüÀÌ¸é ±× Á¶°Ç µÚ¿¡ µû¸£´Â ¸í·É¾î¸¦ ¼öÇàÇϰí, Á¶°ÇÀÌ °ÅÁþÀÎ °æ¿ì¿¡´Â IF ´ÙÀ½ÀÇ ¸í·É¾î¸¦ ¹«½ÃÇÏ°í ´ÙÀ½ ¸í·É¾î¸¦ ¼öÇàÇÑ´Ù.


¡á »ç¿ë¹ý
IF [NOT] ERRORLEVEL num  command
IF [NOT] string1==string2  command
IF [NOT] EXIST filename  command


¡á ¿É¼Ç ¹× ¸Å°³º¯¼ö

not

Á¶°Ç¹®À» ¸¸Á·ÇÏÁö ¾ÊÀ¸¸é µÚ¿¡ ³ª¿À´Â ¸í·É¾î¸¦ ½ÇÇàÇϱâ À§ÇØ »ç¿ëÇÑ´Ù.

errorlevel num

Á÷Àü¿¡ ½ÇÇàµÈ ÇÁ·Î±×·¥ÀÌ ¿î¿µ üÁ¦¿¡ µÇµ¹·Á ÁØ Á¾·á Äڵ庸´Ù Å©°Å³ª °°Àº °ªÀÎ °æ¿ì¿¡¸¸ ÁöÁ¤µÈ ¸í·É¾î¸¦ ½ÇÇàÇϱâ À§ÇØ »ç¿ëÇÑ´Ù.

string1==string2

string1°ú string2°¡ °°Àº °æ¿ì¿¡¸¸ µÚ¿¡ ¿À´Â ¸í·É¾î¸¦ ½ÇÇàÇÑ´Ù.
ÀÌ °ªÀº ¹®ÀÚ¿­À̳ª %1 ȤÀº %2¿Í °°Àº ¹èÄ¡ ÇÁ·Î±×·¥ÀÇ ¸Å°³º¯¼ö°¡ ¿Ã ¼ö ÀÖ´Ù. ¹®ÀÚ¿­ÀÌ ¿Ã °æ¿ì¿¡µµ µû¿ÈÇ¥¸¦ »ç¿ëÇÏÁö ¾Ê´Â´Ù.

exist filename

ÁöÁ¤ÇÑ ÆÄÀϸíÀ» °¡Áø ÆÄÀÏÀÌ ÀÖ´Â °æ¿ì¿¡ ´ÙÀ½¿¡ ¿À´Â ¸í·É¾î¸¦ ½ÇÇàÇϵµ·Ï ÁöÁ¤ÇÑ´Ù.

command

Á¶°Ç¹®À» ¸¸Á·ÇÏ´Â °æ¿ì¿¡ ½ÇÇàÇÒ ¸í·É¾î¸¦ ÁöÁ¤ÇÑ´Ù.




¡á Âü°í »çÇ×
ÇÁ·Î±×·¥ÀÌ Áß´ÜµÉ ¶§, ÇØ´ç ÇÁ·Î±×·¥Àº ¿î¿µ üÁ¦¿¡ ¿¡·¯ ¼öÁØ Á¾·á Äڵ带 µÇµ¹·ÁÁִµ¥, errorlevelÀº ÀÌ·¯ÇÑ Á¾·á Äڵ带 Á¶°Ç¹®¿¡ »ç¿ëÇÒ ¼ö ÀÖµµ·Ï ÇÑ´Ù. Á¾·á Äڵ带 »ç¿ëÇÏ¿© ¹èÄ¡ ÇÁ·Î±×·¥À» ºÐ±âÇÏ´Â °æ¿ì¿¡´Â Ç×»ó Á¾·á Äڵ尡 Å« °ªÀÌ ¸ÕÀú ÁöÁ¤µÇ¾î¾ß ÇÑ´Ù.
À̰ÍÀº ¹èÄ¡ ÇÁ·Î±×·¥ÀÌ ¸í·É¾î¸¦ ¼øÂ÷ÀûÀ¸·Î ó¸®Çϰí, IF¹®¿¡¼­ »ç¿ëµÇ´Â errorlevelÀº ÁöÁ¤ÇÑ ¼ýÀÚº¸´Ù Å©°Å³ª °°Àº °æ¿ì Á¶°Ç¹®À» ¸¸Á·ÇÏ´Â °ÍÀ¸·Î ÀνÄÇϱ⠶§¹®ÀÌ´Ù.
µû¶ó¼­, Á¾·á Äڵ带 Å« ¼öºÎÅÍ ÁöÁ¤ÇÏÁö ¾Ê°í ³·Àº ¼ö ¿¹¸¦ µé¾î 0ºÎÅÍ ÁöÁ¤ÇÑ °æ¿ì¿¡´Â Ç×»ó µ¿ÀÏÇÑ ¸í·É¾î¸¸ ½ÇÇàµÉ °ÍÀÌ´Ù.


¡á »ç¿ë ¿¹
¸¸¾à, DOS°¡ MARCH.RPT¶ó´Â ÆÄÀÏÀ» ãÁö ¸øÇÏ´Â °æ¿ì 'ÇØ´ç ÆÄÀÏÀÌ ¾ø½À´Ï´Ù'¶ó´Â ¸Þ½ÃÁö°¡ ³ªÅ¸³ªµµ·Ï ¹èÄ¡ ÇÁ·Î±×·¥À» ÀÛ¼ºÇÏ·Á¸é ´ÙÀ½°ú °°ÀÌ IF ¸í·É¹®À» »ç¿ëÇÑ´Ù.

    @echo off
    if not exist march.rpt echo ÇØ´ç ÆÄÀÏÀÌ ¾ø½À´Ï´Ù

´ÙÀ½ ¿¹´Â µå¶óÀ̺긦 Æ÷¸ËÇÏ´Â µ¿¾È ¿¡·¯°¡ ¹ß»ýÇÏ´Â °æ¿ì, ÇØ´ç ¿¡·¯¿¡ ´ëÇÑ ¸Þ½ÃÁö°¡ ³ªÅ¸³ªµµ·Ï ÀÛ¼ºµÈ ¹èÄ¡ ÇÁ·Î±×·¥ÀÌ´Ù.

    @echo off
    format %1 %2
    if not errorlevel 1 goto end
    echo Æ÷¸ËÇÏ´Â µµÁß¿¡ ¿¡·¯°¡ ¹ß»ýÇÏ¿´½À´Ï´Ù
    goto exit
    :end
    echo Á¤»óÀûÀ¸·Î Æ÷¸ËÀÌ ¿Ï·áµÇ¾ú½À´Ï´Ù
    :exit

À§ÀÇ ¿¹¿¡¼­ 'if not errorlevel 1'Àº FORMATÀÌ ½ÇÇàµÈ µÚ ¿î¿µ üÁ¦·Î µÇµ¹·ÁÁØ Á¾·á Äڵ尡 '1º¸´Ù Å©°Å³ª °°Áö ¾ÊÀº °æ¿ì' Áï, '1º¸´Ù ÀÛÀº °æ¿ì'¿¡¸¸ end·Î À̵¿ÇÏ¿© 'Á¤»óÀûÀ¸·Î Æ÷¸ËÀÌ ¿Ï·áµÇ¾ú½À´Ï´Ù'¶ó´Â ¸Þ½ÃÁö°¡ ³ªÅ¸³ª°í ¹èÄ¡ ÇÁ·Î±×·¥À» Á¾·áÇÑ´Ù.
ÇÁ·Î±×·¥ÀÇ Á¾·á Äڵ带 ÀÌ¿ëÇÏ¿© ¹èÄ¡ ÇÁ·Î±×·¥À» ÀÛ¼ºÇÏ´Â °æ¿ì ÁÖÀÇÇÒ °ÍÀº errorlevel ´ÙÀ½¿¡ ÁöÁ¤ÇÑ ¼ýÀÚ´Â ±×º¸´Ù Å©°Å³ª °°Àº °æ¿ì¸¦ ÁöÁ¤ÇÏ´Â °ÍÀ̱⠶§¹®¿¡, ´Ù¼öÀÇ ¿¡·¯ ¼öÁØ¿¡ µû¶ó ´Ù¸¥ ¸í·É¾î¸¦ ¼öÇàÇϵµ·Ï ÇÏ´Â °æ¿ì¿¡´Â ¹Ýµå½Ã errorlevelÀÇ ¼ýÀÚ°¡ Å« °ÍºÎÅÍ Â÷·Ê·Î IF ¸í·É¹®À» ÀÛ¼ºÇØ¾ß ÇÑ´Ù.

´ÙÀ½ ¿¹´Â µð·ºÅ丮ÀÇ Á¸À縦 °Ë»çÇϱâ À§ÇÑ IF ¸í·É¹®ÀÌ´Ù. IF ¸í·É¾î´Â µð·ºÅ丮¸¦ Á÷Á¢ °Ë»çÇÒ ¼ö ¾ø´Ù. ±×·¯³ª ³Î(NUL) ÀåÄ¡´Â ¸ðµç µð·ºÅ丮¿¡ Á¸ÀçÇϱ⠶§¹®¿¡ µð·ºÅ丮°¡ ÀÖ´ÂÁö¸¦ °Ë»çÇϱâ À§ÇØ ³Î ¹®ÀÚ¸¦ ãÀ½À¸·Î½á µð·ºÅ丮¸¦ È®ÀÎÇÒ ¼ö ÀÖ´Ù.

    if exist c:\hwp\data\nul goto process

À§ÀÇ ¿¹¿¡¼­´Â Cµå¶óÀÌºê »óÀÇ HWP\DATA µð·ºÅ丮°¡ ÀÖ´ÂÁö¸¦ °Ë»çÇÏ¿© ÀÖÀ¸¸é process ·¹À̺íÀ» ½ÇÇàÇϰí, ¾øÀ¸¸é ´ÙÀ½ ¸í·É¾î ¶óÀÎÀ» ½ÇÇàÇ϶ó´Â °ÍÀÌ´Ù.